#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<signal.h>

void count(int cnt)
{
    while(cnt)
    {
        printf("cnt :%2d\r",cnt);
        fflush(stdout);
        cnt--;
        sleep(1);
    }
    printf("\n");
}

void handler(int signo)
{
    printf("pid :%d, %d号信号,正在被捕捉!\n",getpid(),signo);
}

int main()
{
    signal(SIGCHLD,handler);
    printf("我是父进程,pid: %d, ppid :%d\n",getpid(),getppid());
    pid_t id=fork();
    if(id == 0)
    {
        printf("我是子进程,pid: %d, ppid: %d,我要退出啦\n",getpid(),getppid());
        count(5);
        exit(1);
    }

    while(1) sleep(1);

    return 0;
}

